<?php
	/**
	 * Created by PhpStorm.
	 * User: mybook-lhp
	 * Date: 18/2/5
	 * Time: 下午1:34
	 */

	namespace app\common\command;

	use think\console\Command;
	use think\console\Input;
	use think\console\input\Argument;
	use think\console\Output;


	/**
	 * 调用模块的操作方法 参数格式 [模块/控制器/]操作
	 * @param string $url 调用地址
	 * @param string|array $vars 调用参数 支持字符串和数组
	 * @param string $layer 要调用的控制层名称
	 * @param bool $appendSuffix 是否添加类名后缀
	 */
	class Action extends Command
	{
		protected function configure()
		{
			$this->setName('action')
				->addArgument('action', Argument::OPTIONAL, "Enter Url")
				->setDescription('调用模块的操作方法！');
		}

		/**
		 * @param Input $input
		 * @param Output $output
		 * @return int|null|void
		 */
		protected function execute(Input $input, Output $output)
		{
			$action = trim($input->getArgument('action'));

			$request = action($action);

			if (is_array($request))
			{
				foreach ($request as $key => $item)
				{
					$output->writeln($item);
				}
			} elseif (is_string($action))
			{
				$output->writeln($request);
			}
		}
	}